Declarative Debugging for Encapsulated Search

نویسندگان

  • Rafael Caballero
  • Wolfgang Lux
چکیده

Declarative debugging has been proposed as a suitable technique for developing debuggers in the context of declarative languages. However, to become really useful debuggers must be able to deal with those parts of the languages that have no clear declarative semantics but are widely used in realistic programs. We explain in this paper how a declarative debugger of wrong answers for the lazy functional-logic language Curry can be extended to debug programs including the encapsulated search, an important feature of this language designed to control non-deterministic computation steps. We show how this can be done without introducing any changes in the compiler.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Practical Declarative Debugging of Mercury Programs

Debugging is the most unpredictable and potentially expensive phase of the software development life-cycle. Declarative debuggers ask the user questions about the correctness of subcomputations in their program. Based on the user’s answers, subcomputations that cannot be the cause of the buggy behaviour are eliminated. Eventually one subcomputation is left which must be the cause of the buggy b...

متن کامل

Controlling Search Space Materialization in a Practical Declarative Debugger

While the idea of declarative debugging has been around for a quarter of a century, the technology still hasn’t been adopted by working programmers, even by those working in declarative languages. The reason is that making declarative debuggers practical requires solutions to a whole host of problems. In this paper we address one of these problems, which is that retaining a complete record of e...

متن کامل

Probabilistic Declarative Debugging

We present a probabilistic approach to the search strategy for declarative debugging. We focus on diagnosing wrong answers in pure Prolog programs but the approach can be adapted to other languages (for example, functional languages) and bug symptoms. Drawing information from source code and the execution of passed and failed test cases, different search heuristics are combined using probabilit...

متن کامل

A Semantic Framework for the Declarative Debugging of Wrong and Missing Answers in Declarative Constraint Programming

Debugging tools are a practical need for helping programmers to understand why their programs do not work as intended. Declarative programming paradigms involving complex operational details, such as constraint solving and lazy evaluation, do not fit well to traditional debugging techniques relying on the inspection of low-level computation traces. As a solution to this problem, and following a...

متن کامل

Debugging for a Declarative Programming Language

This paper investigates debugging in declarative programming languages, concentrating specifically on the integrated functional and logic programming language Escher. The Escher language has types and modules, higher-order and meta-programming facilities, and declarative input/output. It also has a collection of system modules, providing numerous operations on standard data types such as intege...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Electr. Notes Theor. Comput. Sci.

دوره 76  شماره 

صفحات  -

تاریخ انتشار 2002